package com.bjpowernode.javase.collection.review;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;

/*
1.1、每个集合对象的创建（new）
1.2、向集合中添加元素。
1.3、从集合中取出某个元素
1.4、遍历集合

ArrayList：
    底层是数组
    有序可重复
    初始化容量为 10 ，扩容后的容量是原容量的1.5倍。
    ArrayList的构造方法可以传入set集合，然后将set集合转换为List结合

LinkedList：底层是双向链表。
 */
public class ArrayListTest {
    public static void main(String[] args) {
        //创建集合对象
        //ArrayList<String> list = new ArrayList<>();
        LinkedList<String> list = new LinkedList<>();
        list.add("zhangsan");
        list.add("lisi");
        list.add("wangwu");
        list.add("zhaoliui");
        //从集合中取出某个元素：list集合有下标
        String result = list.get(1);
        System.out.println(result);
        
        //遍历(下标方式，list集合才可以用，因为有下标)
        for (int i = 0; i < list.size(); i++) {
            String elt = list.get(i);
            System.out.println(elt);
        }
        //遍历(迭代器，这个是通用的所有的collection都可以用)
        Iterator<String> it = list.iterator();
        while(it.hasNext()){
            String elt = it.next();
            System.out.println((elt));
        }
        //while循环修改为for循环
        for(Iterator<String> it2 = list.iterator(); it2.hasNext();){
            System.out.println("====>"+it2.next());
        }

        //遍历(foreach)
        for(String s : list){
            System.out.println(s);
        }
    }
}
